var express = require('express')
var router = express.Router()
var User = require('../models/User')
// 统一返回格式
var resData
router.use(function(req, res, next) {
  resData = {
    code: 0,
    message: ''
  }
  next()
})
/**
 * 用户注册
 * 注册验证逻辑
 * 1. 用户名不能为空
 * 2. 密码不能为空
 * 3. 两次输入密码需一致
 * 4. 用户名是否被注册 （查数据库）
 */
router.post('/user/register', function(req, res, next) {
  console.log(req.body)
  var username = req.body.username
  var password = req.body.password
  var repassword = req.body.repassword

  // 用户名是否为空
  if (username == '') {
    resData.code = 1
    resData.message = '用户名不能为空'
    res.json(resData)
    return
  }
  // 密码不能为空
  if (password == '') {
    resData.code = 2
    resData.message = '密码不能为空'
    res.json(resData)
    return
  }
  // 判断密码是否一致
  if (password != repassword) {
    resData.code = 3
    resData.message = '两次输入的密码不一致'
    res.json(resData)
    return
  }
  // 数据库查询用户名是否已经被注册
  User.findOne({
    username: username
  })
    .then(function(userInfo) {
      if (userInfo) {
        resData.code = 4
        resData.message = '用户名已注册'
        res.json(resData)
        return
      }
      var user = new User({
        username: username,
        password: password
      })
      return user.save()
    })
    .then(function(newUserInfo) {
      resData.message = '注册成功'
      res.json(resData)
    })
})
module.exports = router
